home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-03 / qbasicpg.zip / ADVEN1.BAS < prev    next >
BASIC Source File  |  1983-03-02  |  23KB  |  506 lines

  1.  
  2. 10 ' **************************************************************************
  3. 11 ' *                         ADVENTURE-1                                    *
  4. 12 ' *                        by Scott Adams                                  *
  5. 14 ' *                             1978                                       *
  6. 15 ' **************************************************************************
  7. 16 '
  8. 17 ' Adapted for the IBM PC 1-83 from the Commodore PET program.
  9. 18 ' Ammended so it may be compiled.
  10. 19 '
  11. 30 IL=60:CL=151:NL=59:RL=33:MX=5:AR=11:TT=13:LN=3:LT=125:ML=71:TR=3
  12. 31 DIM NV(1),C0%(151),C1%(151),C2%(151),C3%(151),C4%(151),C5%(151),C6%(151),C7%(151)
  13. 32 DIM NV$(59,1),IA$(60),IA(60),RS$(33),RM(33,5),MS$(71),NT$(1),I2(60)
  14. 43 SCREEN 0,0,0,0:COLOR 7,0,0:WIDTH 80:RESET
  15. 44 KEY OFF:KEY 1,"LIST ":KEY 2,"RUN"+CHR$(13):KEY 3,"LOAD"+CHR$(34)+"B:":KEY 4,"SAVE"+CHR$(34)+"B:":KEY 5,"GOSUB ":KEY 6,"RETURN":KEY 7,"FILES "+CHR$(34)+"B:*.*":KEY 8,"EDIT ":KEY 9,"CLS":KEY 10,"SYSTEM"
  16. 45 DEF SEG=&H40:RANDOMIZE PEEK(&H6D)*256!+PEEK(&H6C)-32768!
  17. 79 LOCATE ,,0:CLS:GOTO 100
  18. 80 GOSUB 99:REM single character input, lower case converted to uppercase
  19. 81 IN$=INKEY$:IF IN$="" THEN 81 ELSE SOUND 1000,1
  20. 82 IF ASC(IN$)=27 THEN RUN
  21. 83 IF ASC(IN$)>96 THEN IN$=CHR$(ASC(IN$)-32):REM Lower case to upper case.
  22. 84 RETURN
  23. 96 GOSUB 99:LOCATE 24,1,0:PRINT"************************** ";:COLOR 18,0:PRINT"Press any key to continue";:COLOR 7,0:PRINT" **************************";:BEEP
  24. 97 IN$=INKEY$:IF IN$="" THEN 97 ELSE CLS:SOUND 1000,1:RETURN
  25. 99 IN$=INKEY$:IF IN$<>"" THEN 99 ELSE LOCATE ,,1:RETURN
  26. 100 REM
  27. 150 X=Y=Z:K=R=V:N=LL=F:TP$=K$:W=IP=P:GOSUB 190:GOSUB 2210 ' *****
  28. 160 GOSUB 96
  29. 180 CLS:GOTO 350
  30. 190 CLS:LOCATE ,28:COLOR 0,7:PRINT" W E L C O M E   T O ";:COLOR 7,0:PRINT:LOCATE 3,27:COLOR 0,7:PRINT" A D V E N T U R E - 1 ";:COLOR 7,0:PRINT
  31. 200 LOCATE 7,1:PRINT"The object of your adventure is to find treasures and return them
  32. 210 PRINT"to the proper place for you to accumulate points.  I'm your clone.  Give me
  33. 220 PRINT"commands that consist of a verb & noun, i.e. GO EAST, TAKE KEY, CLIMB TREE,
  34. 230 PRINT"SAVE GAME, TAKE INVENTORY, FIND AXE, etc.":PRINT
  35. 240 PRINT"You'll need some special items to do some things, but I'm sure that you'll be
  36. 250 PRINT"a good adventurer and figure these things out (which is most of the fun of
  37. 260 PRINT"this game).":PRINT
  38. 270 PRINT"Note that going in the opposite direction won't always get you back to where
  39. 280 PRINT"you were.":PRINT:PRINT:A$="HAPPY ADVENTURING!!!":LOCATE ,40-((LEN(A$))/2):PRINT A$
  40. 285 LOCATE 24,31:COLOR 18:PRINT" < INITIALIZING > ";:COLOR 7:
  41. 290 RETURN
  42. 350 R=AR:LX=LT:DF=0:SF=0:PRINT:PRINT "Use saved game (Y or N)? ";:GOSUB 80:K$=IN$:PRINT K$
  43. 360 PRINT:IF LEFT$(K$,1) <> "Y" THEN CLS:GOTO 420
  44. 370 PRINT"Is previously saved game now on the disk in drive B:? ";:GOSUB 80:K$=IN$:PRINT K$:IF LEFT$(K$,1) <> "Y" THEN 350
  45. 380 OPEN "B:ADVEN-1.DAT" FOR INPUT AS 1
  46. 390 INPUT#1,SF,LX,DF,R
  47. 400 FOR X=0 TO IL:INPUT#1,IA(X):NEXT X
  48. 410 CLOSE 1:CLS
  49. 420 LOCATE ,,0:GOSUB 600:GOTO 490
  50. 430 PRINT:BEEP:INPUT "Tell me what to do";TP$:PRINT:GOSUB 500
  51. 440 IF F THEN PRINT "You use word(s) I don't know.!":GOTO 430
  52. 450 GOSUB 760:IF IA(9)=-1 THEN LX=LX-1:GOTO 470
  53. 460 GOTO 490
  54. 470 IF LX<0 THEN PRINT "light has run out!":IA(9)=0:GOTO 490
  55. 480 IF LX<25 THEN PRINT"light runs out in";LX;"turns!"
  56. 490 NV(0)=0:GOSUB 760:GOTO 430
  57. 500 K=0:NT$(0)="":NT$(1)=""
  58. 510 FOR X=1 TO LEN(TP$):K$=MID$(TP$,X,1):IF K$=" " THEN K=1:GOTO 530
  59. 520 NT$(K)=LEFT$(NT$(K)+K$,LN)
  60. 530 NEXT X:FOR X=0 TO 1:NV(X)=0:IF NT$(X)="" THEN 590
  61. 540 FOR Y=0 TO NL:K$=NV$(Y,X):IF LEFT$(K$,1)="*" THEN K$=MID$(K$,2)
  62. 550 IF X=1 AND Y<7 THEN K$=LEFT$(K$,LN)
  63. 560 IF NT$(X)=K$ THEN NV(X)=Y:GOTO 580
  64. 570 NEXT Y:GOTO 590
  65. 580 IF LEFT$(NV$(NV(X),X),1)="*" THEN NV(X)=NV(X)-1:GOTO 580
  66. 590 NEXT X:F=NV(0)<1 OR LEN(NT$(1))>0 AND NV(1)<1:RETURN
  67. 600 IF DF THEN IF IA(9)<>-1 AND IA(9)<>R THEN PRINT "I can't see.  It's too dark!":RETURN
  68. 610 K=-1:IF LEFT$(RS$(R),1)="*" THEN PRINT MID$(RS$(R),2);:GOTO 630
  69. 620 PRINT "I'm in a ";RS$(R);
  70. 630 FOR Z=0 TO IL:IF K THEN IF IA(Z)=R THEN PRINT :PRINT :PRINT "VISIBLE ITEMS HERE:":K=0
  71. 640 GOTO 690
  72. 650 TP$=IA$(Z):IF RIGHT$(TP$,1)<>"/" THEN RETURN
  73. 660 FOR W=LEN(TP$)-1 TO 1 STEP -1:IF MID$(TP$,W,1)="/" THEN TP$=LEFT$(TP$,W-1):RETURN
  74. 670 NEXT W
  75. 680 RETURN
  76. 690 IF IA(Z)<>R THEN 720
  77. 700 GOSUB 650:IF POS(0)+LEN(TP$)+3>39 THEN PRINT
  78. 710 PRINT TP$;".  ";
  79. 720 NEXT:PRINT
  80. 730 K=-1:FOR Z=0 TO 5:IF K THEN IF RM(R,Z)<>0 THEN PRINT :PRINT "Obvious exits: ":K=0
  81. 740 IF RM(R,Z)<>0 THEN PRINT NV$(Z+1,1);" ";
  82. 750 NEXT :PRINT :PRINT :RETURN
  83. 760 F2=-1:F=-1:F3=0:IF NV(0)=1 AND NV(1)<7 THEN 1240
  84. 770 FOR X=0 TO CL:V=INT(C0%(X)/150):IF NV(0)=0 THEN IF V<>0 THEN RETURN
  85. 780 IF NV(0)<>V THEN 830
  86. 790 N=C0%(X)-V*150
  87. 800 IF NV(0)=0 THEN F=0:GOTO 820
  88. 810 GOTO 840
  89. 820 IF INT(RND(1)*100+1)<=N THEN 850
  90. 830 NEXT X:GOTO 1760
  91. 840 IF N<>NV(1) AND N<>0 THEN 830
  92. 850 F2=-1:F=0:F3=-1:FOR Y=1 TO 5:ON Y GOTO 860,870,880,890,900
  93. 860 W=C1%(X):GOTO 910
  94. 870 W=C2%(X):GOTO 910
  95. 880 W=C3%(X):GOTO 910
  96. 890 W=C4%(X):GOTO 910
  97. 900 W=C5%(X):GOTO 910
  98. 910 LL=INT(W/20):K=W-LL*20:F1=-1
  99. 920 ON K+1 GOTO 1110,990,1010,1030,1050,1060,1070,1080,1090,1100,950,970
  100. 930 IF K<12 THEN 950
  101. 940 ON K-11 GOTO 1000,1020,1040
  102. 950 F1=-1:FOR Z=0 TO IL:IF IA(Z)=-1 THEN 1110
  103. 960 NEXT :F1=0:GOTO 1110
  104. 970 F1=0:FOR Z=0 TO IL:IF IA(Z)=-1 THEN 1110
  105. 980 NEXT :F1=-1:GOTO 1110
  106. 990 F1=IA(LL)=-1:GOTO 1110  '  *****
  107. 1000 F1=IA(LL)<>-1 AND IA(LL)<>R:GOTO 1110
  108. 1010 F1=IA(LL)=R:GOTO 1110  '  *****
  109. 1020 F1=IA(LL)<>0:GOTO 1110
  110. 1030 F1=IA(LL)=R OR IA(LL)=-1:GOTO 1110 '  *****
  111. 1040 F1=IA(LL)=0:GOTO 1110  '  *****
  112. 1050 F1=R=LL:GOTO 1110  '  *****
  113. 1060 F1=IA(LL)<>R:GOTO 1110
  114. 1070 F1=IA(LL)<>-1:GOTO 1110
  115. 1080 F1=R<>LL:GOTO 1110
  116. 1090 F1=SF AND INT(2^LL+.5):F1=F1<>0:GOTO 1110
  117. 1100 F1=SF AND INT(2^LL+.5):F1=F1=0  '  *****
  118. 1110 F2=F2 AND F1:IF F2 THEN NEXT Y:GOTO 1130
  119. 1120 GOTO 830
  120. 1130 IP=0:FOR Y=1 TO 4:K=INT((Y-1)/2+6):ON Y GOTO 1140,1150,1160,1170
  121. 1140 AC=INT(C6%(X)/150):GOTO 1180
  122. 1150 AC=C6%(X)-INT(C6%(X)/150)*150:GOTO 1180
  123. 1160 AC=INT(C7%(X)/150):GOTO 1180
  124. 1170 AC=C7%(X)-INT(C7%(X)/150)*150
  125. 1180 IF AC>101 THEN 1230
  126. 1190 IF AC=0 THEN 1720
  127. 1200 IF AC<52 THEN PRINT MS$(AC):GOTO 1720
  128. 1210 ON AC-51 GOTO 1340,1380,1450,1470,1480,1490,1500,1470,1520,1540,1550
  129. 1220 ON AC-62 GOTO 1560,1580,1590,1640,1680,1690,1700,1710,1390,1460
  130. 1230 PRINT MS$(AC-50):GOTO 1720
  131. 1240 L=DF:IF L THEN L=DF AND IA(9)<>R AND IA(9)<>-1:GOTO 1260
  132. 1250 GOTO 1270
  133. 1260 IF L THEN PRINT "Dangerous to move in the dark!"
  134. 1270 IF NV(1)<1 THEN PRINT "Give me a direction too.":GOTO 1800
  135. 1280 K=RM(R,NV(1)-1)
  136. 1290 IF K>=1 THEN 1320
  137. 1300 IF L THEN PRINT "I fell down and broke my neck.":K=RL:DF=0:GOTO 1320
  138. 1310 PRINT"I can't go in that direction.":GOTO 1800
  139. 1320 IF NOT L THEN CLS
  140. 1330 R=K:GOSUB 600:GOTO 1800
  141. 1340 L=0:FOR Z=1 TO IL:IF IA(Z)=-1 THEN L=L+1
  142. 1350 NEXT Z
  143. 1360 IF L>=MX THEN PRINT "I've too much to carry!":GOTO 1730
  144. 1370 GOSUB 1810:IA(P)=-1:GOTO 1720
  145. 1380 GOSUB 1810:IA(P)=R:GOTO 1720
  146. 1390 PRINT "Is disk drive B: ready to receive the saved game? ";:GOSUB 80:K$=IN$:PRINT K$:IF LEFT$(K$,1)<>"Y" THEN 1440
  147. 1410 OPEN "B:ADVEN-1.DAT" FOR OUTPUT AS 1
  148. 1420 PRINT#1,SF:PRINT#1,LX:PRINT#1,DF:PRINT#1,R
  149. 1430 FOR W=0 TO IL:PRINT#1,IA(W):NEXT W:CLOSE 1
  150. 1440 PRINT:GOTO 1720
  151. 1450 GOSUB 1810:R=P:GOTO 1720
  152. 1460 GOSUB 1810:L=P:GOSUB 1810:Z=IA(P):IA(P)=IA(L):IA(L)=Z:GOTO 1720
  153. 1470 GOSUB 1810:IA(P)=0:GOTO 1720
  154. 1480 DF=-1:GOTO 1720
  155. 1490 DF=0:GOTO 1720
  156. 1500 GOSUB 1810
  157. 1510 SF=INT(.5+2^P) OR SF:GOTO 1720
  158. 1520 GOSUB 1810
  159. 1530 SF=SF AND NOT INT(.5+2^P):GOTO 1720
  160. 1540 PRINT"I'm dead...":R=RL:DF=0:GOTO 1580
  161. 1550 GOSUB 1810:L=P:GOSUB 1810:IA(L)=P:GOTO 1720
  162. 1560 PRINT "The game is now over.":PRINT"Another game? ";:GOSUB 80:K$=IN$:PRINT K$:IF LEFT$(K$,1)="N" THEN 9999
  163. 1570 FOR X=0 TO IL:IA(X)=I2(X):NEXT :GOTO 350
  164. 1580 GOSUB 600:GOTO 1720
  165. 1590 L=0:FOR Z=1 TO IL:IF IA(Z)=TR THEN IF LEFT$(IA$(Z),1)="*" THEN L=L+1
  166. 1600 NEXT Z:PRINT"I've stored";L;"treasures.  On a scale
  167. 1610 PRINT"of 0 to 100, that rates a";INT(L/TT*100);"."
  168. 1620 IF L=TT THEN PRINT "Well done. ":GOTO 1560
  169. 1630 GOTO 1720
  170. 1640 PRINT"I'm carrying:":K$="Nothing!":FOR Z=0 TO IL:IF IA(Z)<>-1 THEN 1670
  171. 1650 GOSUB 650:IF LEN(TP$)+POS(0)>39 THEN PRINT
  172. 1660 PRINT TP$;".",;:K$=""
  173. 1670 NEXT :PRINT K$:GOTO 1720
  174. 1680 P=0:GOTO 1510
  175. 1690 P=0:GOTO 1530
  176. 1700 LX=LT:IA(9)=-1:GOTO 1720
  177. 1710 CLS:GOTO 1720
  178. 1720 NEXT Y
  179. 1730 IF NV(0)<>0 THEN 1760
  180. 1740 GOTO 830
  181. 1760 IF NV(0)=0 THEN 1800
  182. 1770 GOSUB 1900
  183. 1780 IF F THEN PRINT "I don't understand your command.":GOTO 1800
  184. 1790 IF NOT F2 THEN PRINT "I can't do that yet.":GOTO 1800
  185. 1800 RETURN
  186. 1810 IP=IP+1
  187. 1820 ON IP GOTO 1830,1840,1850,1860,1870
  188. 1830 W=C1%(X):GOTO 1880
  189. 1840 W=C2%(X):GOTO 1880
  190. 1850 W=C3%(X):GOTO 1880
  191. 1860 W=C4%(X):GOTO 1880
  192. 1870 W=C5%(X):GOTO 1880
  193. 1880 P=INT(W/20):M=W-P*20:IF M<>0 THEN 1810
  194. 1890 RETURN
  195. 1900 IF NV(0)<>10 AND NV(0)<>18 OR F3 THEN 2120
  196. 1910 IF NV(1)=0 THEN PRINT "What?":GOTO 2060
  197. 1920 IF NV(0)<>10 THEN 1950
  198. 1930 L=0:FOR Z=0 TO IL:IF IA(Z)=-1 THEN L=L+1
  199. 1940 NEXT :IF L>=MX THEN PRINT "I've too much to carry!":GOTO 2060
  200. 1950 K=0:FOR X=0 TO IL:IF RIGHT$(IA$(X),1)<>"/" THEN 2070
  201. 1960 LL=LEN(IA$(X))-1:TP$=MID$(IA$(X),1,LL):FOR Y=LL TO 2 STEP -1
  202. 1970 IF MID$(TP$,Y,1)<>"/" THEN NEXT Y:GOTO 2070
  203. 1980 TP$=LEFT$(MID$(TP$,Y+1),LN)
  204. 1990 IF TP$<>NV$(NV(1),1) THEN 2070
  205. 2000 IF NV(0)=10 THEN 2030
  206. 2010 IF IA(X)<>-1 THEN K=1:GOTO 2070
  207. 2020 IA(X)=R:K=3:GOTO 2050
  208. 2030 IF IA(X)<>R THEN K=2:GOTO 2070
  209. 2040 IA(X)=-1:K=3
  210. 2050 PRINT"OK, "
  211. 2060 F=0:RETURN
  212. 2070 NEXT X
  213. 2080 IF K=1 THEN PRINT "I'm not carrying it!"
  214. 2090 IF K=2 THEN PRINT "I don't see it here."
  215. 2100 IF K=0 THEN IF NOT F3 THEN PRINT "It's beyond my power to do that.":F=0
  216. 2110 IF K<>0 THEN F=0
  217. 2120 RETURN
  218. 2210 FOR X=0 TO CL STEP 2:Y=X+1
  219. 2220 READ C0%(X),C1%(X),C2%(X),C3%(X),C4%(X),C5%(X),C6%(X),C7%(X)
  220. 2230 READ C0%(Y),C1%(Y),C2%(Y),C3%(Y),C4%(Y),C5%(Y),C6%(Y),C7%(Y):NEXT X
  221. 2240 FOR X=0 TO NL STEP 10:FOR Y=0 TO 1
  222. 2250 READ NV$(X,Y),NV$(X+1,Y),NV$(X+2,Y),NV$(X+3,Y),NV$(X+4,Y),NV$(X+5,Y)
  223. 2260 READ NV$(X+6,Y),NV$(X+7,Y),NV$(X+8,Y),NV$(X+9,Y):NEXT Y,X
  224. 2270 FOR X=0 TO RL:READ RM(X,0),RM(X,1),RM(X,2),RM(X,3),RM(X,4),RM(X,5),RS$(X):NEXT
  225. 2280 FOR X=0 TO ML:READ MS$(X):NEXT X
  226. 2290 FOR X=0 TO IL:READ IA$(X),IA(X):I2(X)=IA(X):NEXT X:RETURN
  227. 2310 DATA 75,161,386,160,200,0,17612,0
  228. 2320 DATA 10,401,420,400,146,0,1852,8850
  229. 2330 DATA 8,421,0,0,0,0,2011,0
  230. 2340 DATA 8,521,520,260,0,0,2609,7800
  231. 2350 DATA 100,108,760,820,420,100,8312,9064
  232. 2360 DATA 100,484,0,0,0,0,5613,0
  233. 2370 DATA 5,141,140,20,246,0,6062,0
  234. 2380 DATA 5,406,426,400,442,146,7845,0
  235. 2390 DATA 8,482,152,0,0,0,2311,0
  236. 2400 DATA 100,104,0,0,0,0,8550,0
  237. 2410 DATA 50,161,246,160,1100,0,7259,7800
  238. 2420 DATA 100,148,140,940,500,0,9062,9900
  239. 2430 DATA 30,841,426,406,400,0,7845,0
  240. 2440 DATA 50,542,141,0,0,0,10504,9150
  241. 2450 DATA 100,248,642,720,640,700,8005,7950
  242. 2460 DATA 100,248,542,1040,540,0,8005,0
  243. 2470 DATA 100,28,49,20,40,0,6360,8700
  244. 2480 DATA 100,288,260,280,0,0,7860,9150
  245. 2490 DATA 100,248,240,0,0,0,9660,0
  246. 2500 DATA 100,269,260,0,0,0,16558,17357
  247. 2510 DATA 100,28,48,20,40,0,4110,9000
  248. 2520 DATA 4366,22,0,0,0,0,6900,0
  249. 2530 DATA 4374,0,0,0,0,0,9750,0
  250. 2540 DATA 4404,682,0,0,0,0,6900,0
  251. 2550 DATA 4407,82,0,0,0,0,6900,0
  252. 2560 DATA 1521,142,421,420,140,0,8902,450
  253. 2570 DATA 1542,462,146,482,0,0,2311,0
  254. 2580 DATA 1521,142,401,400,140,0,8902,450
  255. 2590 DATA 2742,461,460,502,780,500,8864,8005
  256. 2600 DATA 2742,461,460,0,0,0,7950,0
  257. 2610 DATA 1523,482,146,0,0,0,2311,0
  258. 2620 DATA 1523,482,141,266,0,0,2400,0
  259. 2630 DATA 1523,482,141,261,260,520,8902,0
  260. 2640 DATA 1533,0,0,0,0,0,9900,0
  261. 2650 DATA 4350,0,0,0,0,0,10564,0
  262. 2660 DATA 5100,0,0,0,0,0,9900,0
  263. 2670 DATA 3450,581,344,460,0,0,8118,8614
  264. 2680 DATA 2125,623,566,0,0,0,2850,0
  265. 2690 DATA 2125,621,561,620,0,0,3021,9209
  266. 2700 DATA 6794,0,0,0,0,0,17100,0
  267. 2710 DATA 2125,622,561,620,240,0,10555,8720
  268. 2720 DATA 184,404,702,380,0,0,8170,9600
  269. 2730 DATA 1525,24,806,0,0,0,2400,0
  270. 2740 DATA 1525,24,801,800,620,0,8902,0
  271. 2750 DATA 2725,621,620,800,0,0,8902,3450
  272. 2760 DATA 2125,362,561,0,0,0,3300,0
  273. 2770 DATA 6803,0,0,0,0,0,17100,0
  274. 2780 DATA 185,384,0,0,0,0,3750,0
  275. 2790 DATA 1510,762,760,505,0,0,7800,0
  276. 2800 DATA 2710,761,760,582,20,0,7986,8700
  277. 2810 DATA 6343,921,920,0,0,0,509,0
  278. 2820 DATA 1513,122,261,260,240,0,8902,0
  279. 2830 DATA 900,384,420,726,0,0,8164,0
  280. 2840 DATA 900,424,380,0,0,0,8164,0
  281. 2850 DATA 185,424,502,0,0,0,3900,0
  282. 2860 DATA 185,424,505,440,0,0,8170,9600
  283. 2870 DATA 5265,0,0,0,0,0,10650,0
  284. 2880 DATA 204,682,0,0,0,0,7650,0
  285. 2890 DATA 2723,521,502,520,480,280,4259,8008
  286. 2900 DATA 1513,122,266,0,0,0,2400,0
  287. 2910 DATA 5751,62,0,0,0,0,300,0
  288. 2920 DATA 207,40,102,0,0,0,8170,9600
  289. 2930 DATA 2713,241,240,260,0,0,8902,4350
  290. 2940 DATA 1528,442,440,200,0,0,8319,8294
  291. 2950 DATA 1257,100,102,292,80,221,8303,1050
  292. 2960 DATA 5870,104,322,286,0,0,900,0
  293. 2970 DATA 5570,104,322,286,0,0,900,0
  294. 2980 DATA 3611,221,60,220,0,0,4558,7950
  295. 2990 DATA 5870,322,281,320,340,0,8303,9600
  296. 3000 DATA 2737,721,685,720,0,0,7950,0
  297. 3010 DATA 900,384,721,0,0,0,5011,0
  298. 3020 DATA 2737,721,1120,900,680,720,8003,8309
  299. 3030 DATA 1537,722,720,0,0,0,4852,0
  300. 3040 DATA 3300,0,0,0,0,0,5100,0
  301. 3050 DATA 3900,0,0,0,0,0,9813,0
  302. 3060 DATA 1510,762,502,0,0,0,3900,0
  303. 3070 DATA 2710,761,585,820,760,0,5303,8850
  304. 3080 DATA 1050,68,765,60,0,0,16710,0
  305. 3090 DATA 4800,68,60,542,0,0,5910,0
  306. 3100 DATA 4950,0,0,0,0,0,9750,0
  307. 3110 DATA 7050,401,0,0,0,0,16613,15750
  308. 3120 DATA 7050,421,0,0,0,0,16613,15750
  309. 3130 DATA 184,364,0,0,0,0,15300,0
  310. 3140 DATA 1554,682,0,0,0,0,7650,0
  311. 3150 DATA 7650,502,860,360,500,0,6212,8250
  312. 3160 DATA 2723,521,542,480,880,540,8003,8293
  313. 3170 DATA 7350,68,60,0,0,0,9001,16607
  314. 3180 DATA 5870,342,0,0,0,0,9600,0
  315. 3190 DATA 166,702,380,0,0,0,10554,9600
  316. 3200 DATA 1050,68,760,100,80,502,8308,4710
  317. 3210 DATA 6761,0,0,0,0,0,16614,0
  318. 3220 DATA 5400,0,0,0,0,0,197,0
  319. 3230 DATA 207,82,60,0,0,0,8170,9600
  320. 3240 DATA 1257,102,221,100,80,281,8303,1200
  321. 3250 DATA 6038,502,0,0,0,0,3947,0
  322. 3260 DATA 6039,542,0,0,0,0,5897,0
  323. 3270 DATA 6313,241,240,260,0,0,509,7800
  324. 3280 DATA 6313,122,0,0,0,0,450,0
  325. 3290 DATA 6342,461,460,0,0,0,509,0
  326. 3300 DATA 7500,322,68,320,340,60,8303,810
  327. 3310 DATA 4050,524,10,0,0,0,4950,0
  328. 3320 DATA 4050,524,11,200,0,0,8170,9600
  329. 3330 DATA 1200,226,0,0,0,0,5700,0
  330. 3340 DATA 6600,943,221,220,500,140,2762,8700
  331. 3350 DATA 6600,221,527,220,500,0,2762,9900
  332. 3360 DATA 4217,183,0,0,0,0,7650,0
  333. 3370 DATA 1521,142,140,0,0,0,7800,0
  334. 3380 DATA 4217,203,169,960,160,0,7403,8700
  335. 3390 DATA 4217,203,228,0,0,0,150,0
  336. 3400 DATA 4217,203,208,220,660,960,7558,8159
  337. 3410 DATA 4217,203,188,200,660,980,7558,8159
  338. 3420 DATA 4217,203,168,980,180,0,7403,8700
  339. 3430 DATA 7650,401,400,420,0,0,462,8902
  340. 3440 DATA 7650,421,0,0,0,0,463,9150
  341. 3450 DATA 4050,527,0,0,0,0,15300,0
  342. 3460 DATA 3450,586,0,0,0,0,150,0
  343. 3470 DATA 6600,0,0,0,0,0,150,0
  344. 3480 DATA 2117,183,0,0,0,0,1500,0
  345. 3490 DATA 6807,0,0,0,0,0,15450,0
  346. 3500 DATA 2723,521,480,520,260,0,8009,7800
  347. 3510 DATA 6780,0,0,0,0,0,15450,0
  348. 3520 DATA 6771,0,0,0,0,0,15450,0
  349. 3530 DATA 7200,0,0,0,0,0,15600,0
  350. 3540 DATA 207,224,560,0,0,0,8170,9600
  351. 3550 DATA 7050,524,0,0,0,0,16605,16350
  352. 3560 DATA 7050,224,0,0,0,0,16605,0
  353. 3570 DATA 7050,384,0,0,0,0,16605,0
  354. 3580 DATA 7050,464,0,0,0,0,16606,0
  355. 3590 DATA 7050,264,0,0,0,0,16609,0
  356. 3600 DATA 7050,344,0,0,0,0,16609,0
  357. 3610 DATA 7050,304,0,0,0,0,16609,0
  358. 3620 DATA 7050,424,0,0,0,0,16605,0
  359. 3630 DATA 7050,164,0,0,0,0,16608,0
  360. 3640 DATA 5570,281,322,340,320,0,8005,0
  361. 3650 DATA 206,342,120,0,0,0,8156,10564
  362. 3660 DATA 2117,201,200,180,0,0,8902,1500
  363. 3670 DATA 2119,181,180,200,0,0,8902,1350
  364. 3680 DATA 1551,62,0,0,0,0,1711,0
  365. 3690 DATA 166,1042,480,0,0,0,8170,9600
  366. 3700 DATA 1549,0,0,0,0,0,16611,0
  367. 3710 DATA 2100,561,365,0,0,0,3600,0
  368. 3720 DATA 7650,0,0,0,0,0,150,0
  369. 3730 DATA 3450,581,347,340,0,0,8118,8464
  370. 3740 DATA 7050,24,0,0,0,0,16605,0
  371. 3750 DATA 3611,226,0,0,0,0,5700,0
  372. 3760 DATA 7050,404,0,0,0,0,16616,15450
  373. 3770 DATA 6774,0,0,0,0,0,9750,0
  374. 3780 DATA 166,84,100,0,0,0,8170,9600
  375. 3790 DATA 1542,462,460,0,0,0,7800,0
  376. 3800 DATA 7050,0,0,0,0,0,150,0
  377. 3810 DATA 1200,0,0,0,0,0,197,0
  378. 3820 DATA 3600,0,0,0,0,0,16800,0
  379. 3830 REM VOCABULARY
  380. 3840 DATA AUT,GO,*ENT,*RUN,*WAL,*CLI,JUM,BEA,CHO,*CUT
  381. 3850 DATA ANY,NORTH,SOUTH,EAST,WEST,UP,DOWN,NET,FIS,AWA
  382. 3860 DATA TAK,*GET,*PIC,*CAT,LIG,*TUR,*LAM,*BUR,DRO,*REL
  383. 3870 DATA MIR,AXE,AXE,WAT,BOT,GAM,HOL,LAM,*ON,OFF
  384. 3880 DATA *SPI,*LEA,STO,AWA,THR,TOS,QUI,SWI,RUB,LOO
  385. 3890 DATA DOO,MUD,*MED,BEE,SCO,GAS,FLI,EGG,OIL,*SLI
  386. 3900 DATA *SHO,*SEE,DRA,SCO,INV,SAV,WAK,UNL,REA,OPE
  387. 3910 DATA KEY,HEL,BUN,INV,LED,THR,CRO,BRI,BEA,DRA
  388. 3920 DATA ATT,*KIL,DRI,*GAT,BUN,FIN,*LOC,HEL,SAY,WIN
  389. 3930 DATA RUG,RUB,HON,FRU,OX,RIN,CHI,*BIT,BRA,SIG
  390. 3940 DATA DOO,SCR,*YEL,*HOL," "," "," "," "," "," "
  391. 3950 DATA BLA,WEB,*WRI,SWA,LAV,ARO,HAL,TRE,*STU,FIR
  392. 3960 REM ROOMS
  393. 3970 DATA 0,7,10,1,0,24," "
  394. 3980 DATA 23,1,1,25,0,0,"dismal swamp."
  395. 3990 DATA 0,0,0,0,0,1,"*I'm in the top of a tall cypress tree."
  396. 4000 DATA 1,1,1,1,1,4,"large hollow damp stump in the swamp."
  397. 4010 DATA 0,0,0,0,3,5,"root chamber under the stump."
  398. 4020 DATA 0,0,0,0,4,0,"semi-dark hole by the root chamber."
  399. 4030 DATA 0,0,0,0,5,7,"long down-sloping hall."
  400. 4040 DATA 8,9,0,27,6,12,"large cavern."
  401. 4050 DATA 0,7,0,0,0,0,"large 8-sided room."
  402. 4060 DATA 7,0,0,0,20,0,"royal anteroom."
  403. 4070 DATA 11,10,0,1,0,26,"*I'm on the shore of a lake."
  404. 4080 DATA 11,11,23,11,0,0,"forest."
  405. 4090 DATA 13,15,15,0,0,13,"maze of pits."
  406. 4100 DATA 0,0,0,14,12,0,"maze of pits."
  407. 4110 DATA 17,12,13,16,16,17,"maze of pits."
  408. 4120 DATA 12,0,13,12,13,0,"maze of pits."
  409. 4130 DATA 0,17,0,0,14,17,"maze of pits."
  410. 4140 DATA 17,12,12,15,14,18,"maze of pits."
  411. 4150 DATA 0,0,0,0,17,0
  412. 4160 DATA "bottom of a chasm.  Above 2 ledges.  One has a bricked up window."
  413. 4170 DATA 0,0,0,20,0,0
  414. 4180 DATA "*I'm on a narrow ledge by a chasm.  Across the chasm is a throne room."
  415. 4190 DATA 0,0,0,0,0,9,"royal chamber."
  416. 4200 DATA 0,0,0,0,0,0,"I'm on a narrow ledge by the throne room-across chasm-ledge."
  417. 4210 DATA 0,0,0,21,0,0,"throne room."
  418. 4220 DATA 10,1,10,11,0,0,"sunny meadow."
  419. 4230 DATA 0,0,0,0,0,0
  420. 4240 DATA "*I think I'm in real trouble.  Here's a guy with a pitchfork!"
  421. 4250 DATA 11,0,1,11,0,0,"hidden grove."
  422. 4260 DATA 0,0,0,0,0,0,"quick-sand bog."
  423. 4270 DATA 0,0,7,0,0,0,"memory RAM of an IBM-PC.  I took a wrong turn!"
  424. 4280 DATA 0,0,0,0,0,11
  425. 4290 DATA "branch on the top of an old oak tree.                                           To the east I see a meadow beyond a lake."
  426. 4300 DATA 0,0,0,0,0,0," "
  427. 4310 DATA 0,0,0,0,0,0," "
  428. 4320 DATA 0,0,0,0,0,0," "
  429. 4330 DATA 0,0,0,0,0,0," "
  430. 4340 DATA 0,24,11,24,28,24
  431. 4350 DATA "large misty room with strange letters over the exits."
  432. 4360 REM MESSAGES
  433. 4370 DATA " ",Nothing happens,CHOP IT DOWN!,Boy that really hit the spot!
  434. 4380 DATA Dragon smells something - awakens - attacks me!,Lock shatters.
  435. 4390 DATA I can't.  It's locked.
  436. 4400 DATA TIMBER...  Something fell from the treetop and vanished!
  437. 4410 DATA TIMBER...,Lamp is off,Flameless lamp is on.
  438. 4420 DATA I'm bit by a spider.,My chigger bites are now infected.
  439. 4430 DATA The bites have rotted my whole body.,The bear eats the honey and falls asleep.
  440. 4440 DATA Bees sting me,I've no container.,The bees all suffocated.
  441. 4450 DATA Something I'm holding vibrated and...,Nothing to light it with.
  442. 4460 DATA Gas bladder blew up.,in my hands!
  443. 4470 DATA Gas needs to be contained before it will burn.,Gas dissipates.
  444. 4480 DATA That won't ignite.,How?  Jump?
  445. 4490 DATA The bear won't let me.,Don't waste *HONEY*.  Get mad instead.  Dam lava!
  446. 4500 DATA Bees madden the bear.  Bear then attacks me!,It soaks into the ground.
  447. 4510 DATA In one word tell me what.,Oh no...Bear dodges...CRASH!,It's heavy!
  448. 4520 DATA Something's too heavy.  I fall.,To stop game say -QUIT-
  449. 4530 DATA The mirror hits the floor and shatters into a million pieces.
  450. 4540 DATA "Mirror lands softly on the rug - lights up and says:"
  451. 4550 DATA You lost *ALL* treasures.,Not carrying the axe.  TAKE INVENTORY!
  452. 4560 DATA It doesn't bother him at all.,The mud dried up and fell off.
  453. 4570 DATA The bear got startled and fell off the ledge!
  454. 4580 DATA *DRAGON STINGS* and fades.  I don't get it - hope you do.
  455. 4590 DATA The bees attack the dragon which gets up and flies away...
  456. 4600 DATA Magic oil attracts magic lamp.  Lamp is now full.
  457. 4610 DATA I'm bit by chiggers.
  458. 4620 DATA There's something there all right!  Maybe I should go there?
  459. 4630 DATA Maybe if I threw something?...,Too dry.  Fish die.
  460. 4640 DATA A glowing genie appears - drops something - then vanishes.
  461. 4650 DATA A genie appears - says 'boy you're selfish' - takes something - then vanishes!
  462. 4660 DATA NO!  It's too hot.,Not here.,Try the swamp,Use one word.
  463. 4670 DATA "Try:  LOOK,JUMP,SWIM,CLIMB,THROW,FIND,GO,TAKE,INVENTORY,SCORE."
  464. 4680 DATA Only 3 things will wake the dragon.  One of them is dangerous!
  465. 4690 DATA "If you need a hint on something, try 'HELP'."
  466. 4700 DATA Read the sign in the meadow!,You may need magic words here.
  467. 4710 DATA A voice booms out ...,PLEASE LEAVE IT ALONE!,Can only throw axe.
  468. 4720 DATA Medicine is good for bites.,I don't know where it is.
  469. 4730 DATA Treasures have an * in their name.  Say 'SCORE',Blow it up.
  470. 4740 DATA Fish escape back to the lake.
  471. 4750 DATA " "," "," "," "
  472. 4760 REM ITEMS
  473. 4770 DATA " ",0,"dark hole",4,*POT OF RUBIES*/RUB/,4
  474. 4780 DATA "spider web with writing on it.",2
  475. 4790 DATA "Hollow stump and remains of a felled tree.",0,"cypress tree",1
  476. 4800 DATA "water",10,"evil smelling mud/MUD/",1,*GOLDEN FISH*/FIS/,10
  477. 4810 DATA "lit brass lamp/LAM/",0,"old fashoned brass lamp/LAM/",3
  478. 4820 DATA "rusty axe (magic word- BUNYON -on it)/AXE/",10
  479. 4830 DATA "bottle of water/BOT/",3,"empty bottle/BOT/",0
  480. 4840 DATA "ring of skeleton keys/KEY/",2
  481. 4850 DATA "sign- LEAVE TREASURE HERE - (say 'SCORE')",3
  482. 4860 DATA "locked door",5,"open door with a hallway beyond",0,"swamp gas",1
  483. 4870 DATA *GOLDEN NET*/NET/,18,"chigger bites",0,"infected chigger bites",0
  484. 4880 DATA "floating patch of oily slime",1,*ROYAL HONEY*/HON/,8
  485. 4890 DATA "large african bees",8,"thin black bear",21,"bees in a bottle/BOT/",0
  486. 4900 DATA "large sleeping dragon",23,"flint and steel/FLI/",13
  487. 4910 DATA *THICK PERSIAN RUG*/RUG/,17
  488. 4920 DATA "sign- MAGIC WORD IS AWAY. LOOK LA -(rest of sign is missing)",18
  489. 4930 DATA "distended gas bladder/BLA/",0,"bricked up window",20
  490. 4940 DATA "sign here says- IN SOME CASES MUD IS GOOD, IN OTHERS...",23
  491. 4950 DATA "stream of lava",18
  492. 4960 DATA "bricked up window with a hole in it.  Beyond is a ledge.",0
  493. 4970 DATA "loose fire bricks",0,*GOLD CROWN*/CRO/,22,*MAGIC MIRROR*,21
  494. 4980 DATA "sleeping bear",0,"empty wine bladder/BLA/",9,"broken glass",0
  495. 4990 DATA "chiggers/CHI/",1,"dead bear",0,*DRAGON EGGS* (very rare)/EGG/,0
  496. 5000 DATA "lava stream with a brick dam",0,*JEWELED FRUIT*/FRU/,25
  497. 5010 DATA *SMALL STATUE OF A BLUE OXE*/OXE/,26,*DIAMOND RING*/RIN/,0
  498. 5020 DATA *DIAMOND BRACELET*/BRA/,0
  499. 5030 DATA "strange scratchings on rock reveals- ALADDIN WAS HERE -",14
  500. 5040 DATA "sign says- LIMBO.  FIND RIGHT EXIT AND LIVE AGAIN!",33
  501. 5050 DATA "smoking hole.  Pieces of dragon and gore.",0
  502. 5060 DATA "sign says- NO SWIMMING ALLOWED -",10,"arrow pointing down",17
  503. 5070 DATA "dead fish/FIS/",0,*FIRESTONE* (cold now)/FIR/,0
  504. 5080 DATA "sign says- S PLACE -",25,"trees",11," ",0," ",0
  505. 9999 WIDTH 80:COLOR 7,0:KEY ON:LOCATE ,,1,8,11:END
  506.  n